package single.shop.web.freemarker.method;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import freemarker.template.TemplateMethodModel;
import freemarker.template.TemplateModelException;

public class DatetimeFreemarkerModel implements TemplateMethodModel
{

	private static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss";

	/**
	 * 根据传入的日期时间格式，在页面上直接取得当前时间的格式化结果 如果格式为空或者错误，将返回yyyy-MM-dd HH:mm:ss
	 * 页面调用${datetime("yyyy")}/${datetime('yyyy')}
	 * 
	 * @see com.yourcompany.ExtendedFreemarkerManager#createConfiguration
	 */
	@Override
	public Object exec(List args) throws TemplateModelException
	{
		Date date = new Date();
		String pattern = args.get(0).toString();
		try
		{
			return new SimpleDateFormat(pattern).format(date);
		} catch (RuntimeException e)
		{
			return new SimpleDateFormat(DEFAULT_PATTERN).format(date);
		}
	}

}
